#ifndef STRUCTURE_H
#define STRUCTURE_H
#include <header.h>
#include "queue.h"

typedef struct pool_s{
    // 用来保存线程id
    pthread_t *list;
    // 用来记录线程池中线程个数
    int num;
    // 任务队列，存net_fd
    queue_t queue;

    // 锁和条件变量
    pthread_mutex_t lock;
    pthread_cond_t cond;

    // 0运行，1退出
    int exitFlag;
}pool_t;

// 初始化信息，创建线程池
int initPool(pool_t *pool, int num);

// 初始化socket
int initSocket(int *socket_fd, char *ip, char *port);

// 添加epoll监听
int addEpoll(int epoll_fd, int fd);

// 子线程入口函数
void* threadMain();

int sendFile(int net_fd);
#endif